t = int(input())
for t in range(t):
p = list(input())
h = list(input())
a = 0
b = int(len(p)-1)
condition = False
while condition == False:
if sorted(h[a:b+1]) == sorted(p):
print('YES')
condition = True
elif b+1 > len(h):
print('NO')
condition = True
a += 1
b += 1
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
string p,h,n;
cin>>p>>h;
int f=0;
sort(p.begin(),p.end());
int x=size(p),y=size(h);
for(int i=0;i<=y-x;i++){
n=h.substr(i,x);
sort(n.begin(),n.end());
if(n==p){
f++;
break;
}
}
if(f){
cout<<"YES"<<endl;
}
else{
cout<<"NO"<<endl;
}
}
return 0;
}
1399A - Remove Smallest | 208A - Dubstep |
1581A - CQXYM Count Permutations | 337A - Puzzles |
495A - Digital Counter | 796A - Buying A House |
67A - Partial Teacher | 116A - Tram |
1472B - Fair Division | 1281C - Cut and Paste |
141A - Amusing Joke | 112A - Petya and Strings |
677A - Vanya and Fence | 1621A - Stable Arrangement of Rooks |
472A - Design Tutorial Learn from Math | 1368A - C+= |
450A - Jzzhu and Children | 546A - Soldier and Bananas |
32B - Borze | 1651B - Prove Him Wrong |
381A - Sereja and Dima | 41A - Translation |
1559A - Mocha and Math | 832A - Sasha and Sticks |
292B - Network Topology | 1339A - Filling Diamonds |
910A - The Way to Home | 617A - Elephant |
48A - Rock-paper-scissors | 294A - Shaass and Oskols |